1. Field of the Invention
The present invention relates to technology for non-volatile storage.
2. Description of the Related Art
Semiconductor memory has become more popular for use in various electronic devices. For example, non-volatile semiconductor memory is used in cellular telephones, digital cameras, personal digital assistants, mobile computing devices, non-mobile computing devices and other devices. Electrical Erasable Programmable Read Only Memory (EEPROM) and flash memory are among the most popular non-volatile semiconductor memories.
Both EEPROM and flash memory utilize a floating gate that is positioned above and insulated from a channel region in a semiconductor substrate. The floating gate and channel regions are positioned between the source and drain regions. A control gate is provided over and insulated from the floating gate. The threshold voltage of the transistor is controlled by the amount of charge that is retained on the floating gate. That is, the minimum amount of voltage that must be applied to the control gate before the transistor is turned on to permit conduction between its source and drain is controlled by the level of charge on the floating gate.
When programming an EEPROM or flash memory device, such as a NAND flash memory device, typically a program voltage is applied to the control gate and the bit line is grounded. Electrons from the channel are injected into the floating gate. When electrons accumulate in the floating gate, the floating gate becomes negatively charged and the threshold voltage of the memory cell is raised so that the memory cell is in a programmed state. More information about programming can be found in U.S. Pat. No. 6,859,397, titled “Source Side Self Boosting Technique for Non-Volatile Memory;” U.S. Pat. No. 6,917,542, titled “Detecting Over Programmed Memory;” and U.S. Pat. No. 6,888,758, titled “Programming Non-Volatile Memory,” all three cited patents are incorporated herein by reference in their entirety.
In many cases, the program voltage is applied to the control gate as a series of pulses (referred to as programming pulses), with the magnitude of the pulses increasing at each pulse. Between programming pulses, a set of one or more verify operations are performed to determined whether the memory cell(s) being programmed have reached their target level. If a memory cell has reached its target level, programming stops for that memory cell. If a memory cell has not reached its target level, programming will continue for that memory cell.
One example of a flash memory system uses the NAND structure, which includes arranging multiple transistors in series between two select gates. The transistors in series and the select gates are referred to as a NAND string.
In a typical NAND flash memory device, memory cells are programmed in a certain order wherein the memory cells on the word line that is next to the source side select gate are programmed first. Subsequently, the memory cells on the adjacent word line are programmed, followed by the programming of memory cells on the next adjacent word line, and so on, until the memory cells on the last word line next to the drain side select gate are programmed.
As more memory cells in a NAND string are programmed, the conductivity of the channel areas under the unselected word lines will decrease because programmed memory cells have a higher threshold voltage than memory cells that are in the erased state. This increasing of channel resistance changes the IV characteristics of the memory cells. When a particular memory cell was being programmed (and verified), all the memory cells on the word lines higher (closer to the drain side select gate) than the selected word line were still in the erased state. Therefore, the channel area under those word lines was conducting very well, resulting in a relatively high cell current during the actual verify operation. However, after all memory cells of the NAND string have been programmed to their desired state, the conductivity of the channel area under those word lines usually decreases as most of the cells will be programmed to one of the programmed states (while a smaller number will stay in the erased state). As a result, the IV characteristics during a subsequent read operation will be different, since less current will flow than compared to previous verify operations performed during programming. The lowered current causes an artificial shift of the threshold voltages for the memory cells, which can lead to errors when reading data.